home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 31
/
Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso
/
Aminet
/
util
/
gnu
/
xpdf-0.8-src.lha
/
xpdf-0.8-src
/
ltk
/
LTKDblBufCanvas.cc
< prev
next >
Wrap
C/C++ Source or Header
|
1998-11-28
|
1KB
|
59 lines
//========================================================================
//
// LTKDblBufCanvas.cc
//
// Copyright 1996 Derek B. Noonburg
//
//========================================================================
#ifdef __GNUC__
#pragma implementation
#endif
#include <stdlib.h>
#include <stdarg.h>
#include <stddef.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include "LTKWindow.h"
#include "LTKDblBufCanvas.h"
LTKDblBufCanvas::LTKDblBufCanvas(char *name1, int widgetNum1,
int minWidth1, int minHeight1):
LTKWidget(name1, widgetNum1) {
minWidth = minWidth1;
minHeight = minHeight1;
pixmap = None;
}
LTKDblBufCanvas::~LTKDblBufCanvas() {
if (pixmap != None)
XFreePixmap(getDisplay(), pixmap);
}
void LTKDblBufCanvas::layout1() {
width = minWidth;
height = minHeight;
}
void LTKDblBufCanvas::layout3() {
Pixmap oldPixmap;
LTKWidget::layout3();
oldPixmap = pixmap;
pixmap = XCreatePixmap(getDisplay(), getXWindow(), width, height,
DefaultDepth(getDisplay(), getScreenNum()));
XFillRectangle(getDisplay(), pixmap, getBgGC(),
0, 0, width, height);
if (oldPixmap != None) {
XCopyArea(getDisplay(), oldPixmap, pixmap, getFgGC(),
0, 0, width, height, 0, 0);
XFreePixmap(getDisplay(), oldPixmap);
}
}
void LTKDblBufCanvas::redraw() {
XCopyArea(getDisplay(), pixmap, getXWindow(), getFgGC(),
0, 0, width, height, 0, 0);
}